#include<iostream>
#include<vector>
#include<list>
#include<queue>
#include<stack>
#include<algorithm>
#include<queue>
using namespace std;
class Solution {
public:

    bool isValid(string s) {
        stack<char> st;
        for (auto e : s)
        {
            if (e == '{' || e == '[' || e == '(')
            {
                st.push(e);
            }
            else
            {
                if (st.empty()) return false;
                char top = st.top();
                if ((e == '}' && top == '{')
                    || (e == ']' && top == '[')
                    || (e == ')' && top == '('))
                {
                    st.pop();
                }
                else
                {
                    return false;
                }
            }
        }
        if (st.empty())
            return false;
        else return true;
    }
};

int main()
{
    Solution s;
    s.isValid("()");
    return 0;
}